package com.ruoyi.supplier.mapper;

import java.util.List;
import com.ruoyi.supplier.domain.TbStoreOut;
import com.ruoyi.supplier.domain.TbStoreOutDetail;

/**
 * 出库Mapper接口
 * 
 * @author ruoyi
 * @date 2021-03-07
 */
public interface TbStoreOutMapper 
{
    /**
     * 查询出库
     * 
     * @param id 出库ID
     * @return 出库
     */
    public TbStoreOut selectTbStoreOutById(Long id);

    /**
     * 查询出库列表
     * 
     * @param tbStoreOut 出库
     * @return 出库集合
     */
    public List<TbStoreOut> selectTbStoreOutList(TbStoreOut tbStoreOut);

    /**
     * 新增出库
     * 
     * @param tbStoreOut 出库
     * @return 结果
     */
    public int insertTbStoreOut(TbStoreOut tbStoreOut);

    /**
     * 修改出库
     * 
     * @param tbStoreOut 出库
     * @return 结果
     */
    public int updateTbStoreOut(TbStoreOut tbStoreOut);

    /**
     * 删除出库
     * 
     * @param id 出库ID
     * @return 结果
     */
    public int deleteTbStoreOutById(Long id);

    /**
     * 批量删除出库
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteTbStoreOutByIds(Long[] ids);

    /**
     * 批量删除出库明细
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteTbStoreOutDetailByStoreOutIds(Long[] ids);
    
    /**
     * 批量新增出库明细
     * 
     * @param tbStoreOutDetailList 出库明细列表
     * @return 结果
     */
    public int batchTbStoreOutDetail(List<TbStoreOutDetail> tbStoreOutDetailList);
    

    /**
     * 通过出库ID删除出库明细信息
     * 
     * @param id 角色ID
     * @return 结果
     */
    public int deleteTbStoreOutDetailByStoreOutId(Long id);

    String selectNumber();
}
